package action

import (
	"fmt"
	"os"
)

type View struct {

}

//显示主页面
func (that *View) ShowHomeMenu(){
	var key int
	var inputAccount string
	var inputPassword string
	var inputName string
	for {
		fmt.Println("---------欢迎进入聊天室---------")
		fmt.Println("1：登陆聊天室")
		fmt.Println("2：注册用户")
		fmt.Println("3：退出系统")
		fmt.Println("请选择菜单（1-3）")
		_, _ = fmt.Scanf("%d\n",&key)

		switch key {
			case 1:
				fmt.Println("请输入账号：")
				_, _ = fmt.Scanf("%s\n",&inputAccount)
				fmt.Println("请输入密码：")
				_, _ = fmt.Scanf("%s\n",&inputPassword)
				userActionEx := &UserAction{}
				err := userActionEx.Login(inputAccount, inputPassword)
				if err != nil {
					fmt.Println(err)
				}
			case 2:
				fmt.Println("请输入账号：")
				_, _ = fmt.Scanf("%s\n",&inputAccount)
				fmt.Println("请输入密码：")
				_, _ = fmt.Scanf("%s\n",&inputPassword)
				fmt.Println("请输入昵称：")
				_, _ = fmt.Scanf("%s\n",&inputName)
				userActionEx := &UserAction{}
				err := userActionEx.Register(inputAccount, inputPassword, inputName)
				if err != nil {
					fmt.Println(err)
				}
			case 3:
				fmt.Println("退出系统成功")
				os.Exit(0)
			default:
				fmt.Println("您输入有误，请重新输入")
		}
	}
}


//显示登录后菜单
func (that *View) ShowAfterLoginMenu(name string) {
	var key int
	var msgStr string
	for {
		fmt.Printf("---------欢迎回来：%v---------\n",name)
		fmt.Println("1：在线用户列表")
		fmt.Println("2：发送消息")
		fmt.Println("3：退出系统")
		fmt.Println("请选择菜单（1-3）")
		_, _ = fmt.Scanf("%d\n",&key)

		switch key {
			case 1:
				UserActionEx := &UserAction{}
				err := UserActionEx.GetOnlineUsers()
				if err != nil {
					fmt.Println(err)
				}
			case 2:
				fmt.Println("请输入消息内容：")
				_,_ = fmt.Scanf("%s\n",&msgStr)
				UserActionEx := &Message{}
				err := UserActionEx.MassMessage(msgStr)
				if err != nil {
					fmt.Println(err)
				}
			case 3:
				fmt.Println("退出系统成功")
				os.Exit(0)
			default:
				fmt.Println("您输入有误，请重新输入")
		}
	}
}